/*
 * Copyright (C) 2022 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "napi/native_api.h"
#include "../../comm/napi/util/napi_common.h"

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Class:     com_ohos_mars_stn_StnLogic
 * Method:    getLoadLibraries
 * Signature: ()jobject
 */
//JNIEXPORT jobject JNICALL Java_com_ohos_mars_stn_StnLogic_getLoadLibraries(JNIEnv *_env, jclass clz) 
napi_value JS_com_ohos_mars_stn_StnLogic_getLoadLibraries(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    reset
 * Signature: ()V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_reset, KNetJava2C, "reset", "()V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_reset(JNIEnv *_env, jclass clz)
napi_value JS_com_ohos_mars_stn_StnLogic_reset(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    resetAndInitEncoderVersion
 * Signature: (I)V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_resetAndInitEncoderVersion, KNetJava2C, "resetAndInitEncoderVersion", "(I)V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_resetAndInitEncoderVersion(JNIEnv *_env, jclass clz, jint _packer_encoder_version)
napi_value JS_com_ohos_mars_stn_StnLogic_resetAndInitEncoderVersion(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    setLonglinkSvrAddr
 * Signature: (Ljava/lang/String;[ILjava/lang/String;)V
 */
//DEFINE_FIND_STATIC_METHOD(KJaSva2C_setLonglinkSvrAddr, KNetJava2C, "setLonglinkSvrAddr", "(Ljava/lang/String;[ILjava/lang/String;)V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_setLonglinkSvrAddr(JNIEnv *_env, jclass, jstring _host, jintArray _ports, jstring _debug_ip)
napi_value JS_com_ohos_mars_stn_StnLogic_setLonglinkSvrAddr(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    setShortlinkSvrAddr
 * Signature: (ILjava/lang/String;)V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_setShortlinkSvrAddr, KNetJava2C, "setShortlinkSvrAddr", "(ILjava/lang/String;)V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_setShortlinkSvrAddr(JNIEnv *_env, jclass, jint _port, jstring _debug_ip)
napi_value JS_com_ohos_mars_stn_StnLogic_setShortlinkSvrAddr(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    setDebugIP
 * Signature: (Ljava/lang/String;Ljava/lang/String;)V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_setDebugIP, KNetJava2C, "setDebugIP", "(Ljava/lang/String;Ljava/lang/String;)V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_setDebugIP(JNIEnv *_env, jclass, jstring _host, jstring _debug_ip) 
napi_value JS_com_ohos_mars_stn_StnLogic_setDebugIP(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    setBackupIPs
 * Signature: (Ljava/lang/String;[Ljava/lang/String;)V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_setBackupIPs, KNetJava2C, "setBackupIPs", "(Ljava/lang/String;[Ljava/lang/String;)V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_setBackupIPs(JNIEnv *_env, jclass, jstring _host, jobjectArray _objarray)
napi_value JS_com_ohos_mars_stn_StnLogic_setBackupIPs(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    startTask
 * Signature: (Lcom/tencent/mars/stn/StnLogic$Task;)V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_startTask, KNetJava2C, "startTask", "(Lcom/tencent/mars/stn/StnLogic$Task;)V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_startTask(JNIEnv *_env, jclass, jobject _task)
napi_value JS_com_ohos_mars_stn_StnLogic_startTask(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    stopTask
 * Signature: (I)V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_stopTask, KNetJava2C, "stopTask", "(I)V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_stopTask(JNIEnv *_env, jclass, jint _taskid)
napi_value JS_com_ohos_mars_stn_StnLogic_stopTask(napi_env env, napi_callback_info info);

//DEFINE_FIND_STATIC_METHOD(KJava2C_hasTask, KNetJava2C, "hasTask", "(I)Z")
//JNIEXPORT jboolean JNICALL Java_com_ohos_mars_stn_StnLogic_hasTask(JNIEnv *_env, jclass, jint _taskid)
napi_value JS_com_ohos_mars_stn_StnLogic_hasTask(napi_env env, napi_callback_info info);
/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    redoTask
 * Signature: ()V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_redoTask, KNetJava2C, "redoTask", "()V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_redoTask(JNIEnv *_env, jclass)
napi_value JS_com_ohos_mars_stn_StnLogic_redoTask(napi_env env, napi_callback_info info);
/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    clearTask
 * Signature: ()V
 */
//DEFINE_FIND_STATIC_METHOD(KJava2C_clearTask, KNetJava2C, "clearTask", "()V")
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_clearTask(JNIEnv *_env, jclass)
napi_value JS_com_ohos_mars_stn_StnLogic_clearTask(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    makesureLongLinkConnected
 * Signature: ()V
 */
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_makesureLongLinkConnected(JNIEnv *_env, jclass)
napi_value JS_com_ohos_mars_stn_StnLogic_makesureLongLinkConnected(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    setSignallingStrategy
 * Signature: (JJ)V
 */
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_setSignallingStrategy(JNIEnv *_env, jclass, jlong _period, jlong _keep_time)
napi_value JS_com_ohos_mars_stn_StnLogic_setSignallingStrategy(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    keepSignalling
 * Signature: ()V
 */
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_keepSignalling(JNIEnv *_env, jclass)
napi_value JS_com_ohos_mars_stn_StnLogic_keepSignalling(napi_env env, napi_callback_info info);

/*
 * Class:     com_ohos_mars_stn_StnLogic_Java2C
 * Method:    stopSignalling
 * Signature: ()V
 */
//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_stopSignalling(JNIEnv *_env, jclass)
napi_value JS_com_ohos_mars_stn_StnLogic_stopSignalling(napi_env env, napi_callback_info info);

//JNIEXPORT void JNICALL Java_com_ohos_mars_stn_StnLogic_setClientVersion(JNIEnv *_env, jclass, jint _client_version)
napi_value JS_com_ohos_mars_stn_StnLogic_setClientVersion(napi_env env, napi_callback_info info);

//JNIEXPORT jint JNICALL Java_com_ohos_mars_stn_StnLogic_genTaskID(JNIEnv *_env, jclass)
napi_value JS_com_ohos_mars_stn_StnLogic_genTaskID(napi_env env, napi_callback_info info);

#ifdef __cplusplus
}
#endif